home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / man / man6 / cbspline.6 < prev    next >
Text File  |  1996-07-16  |  2KB  |  62 lines

  1. .TH CBSPLINE
  2.  6 "IRIT Version 6.0" 
  3. .SH NAME
  4. CBSPLINE
  5.  
  6.  
  7.  
  8.  CurveType CBSPLINE( NumericType Order, ListType CtlPtList,
  9.                                                         ListType KnotVector )
  10.  
  11. Creates a Bspline curve out of the provided control point list, the
  12. knot vector, and the specified order. CtlPtList is a list of control
  13. points, all of which must be of type (E1-E5, P1-P5), or regular PointType
  14. defining the curve's control polygon. Curve's point type will be of a space
  15. which is the union of the spaces of all points.
  16. The length of the KnotVector must be equal to the number of control
  17. points in CtlPtList plus the Order. If, however, the length of
  18. the knot vector is equal to #CtlPtList + Order + Order - 1 the curve
  19. is assumed periodic.
  20. The knot vector list may be specified as either list( KV_OPEN ) or
  21. list( KV_FLOAT ) or list( KV_PERIODIC ) in which a uniform
  22. open, uniform floating or uniform periodic knot vector with the appropriate
  23. length is automatically constructed. 
  24.  
  25. Example:
  26.  
  27.     s45 = sin(pi / 4);
  28.     HalfCirc = CBSPLINE( 3,
  29.                          list( ctlpt( P3,  1.0,  1.0,  0.0, 0.0 ),
  30.                                ctlpt( P3,  s45,  s45,  s45, 0.0 ),
  31.                                ctlpt( P3,  1.0,  0.0,  1.0, 0.0 ),
  32.                                ctlpt( P3,  s45, -s45,  s45, 0.0 ),
  33.                                ctlpt( P3,  1.0, -1.0,  0.0, 0.0 ) ),
  34.                          list( 0, 0, 0, 1, 1, 2, 2, 2 ) );
  35.  
  36. constructs an arc of 180 degrees in the XZ plane as a rational quadratic
  37. Bspline curve.
  38.  
  39. Example:
  40.  
  41.     c = CBSPLINE( 4,
  42.                   list( ctlpt( E2,  0.5,  0.5 ),
  43.                         ctlpt( E2, -0.5,  0.5 ),
  44.                         ctlpt( E2, -0.5, -0.5 ),
  45.                         ctlpt( E2,  0.5, -0.5 ) ),
  46.                   list( KV_PERIODIC ) );
  47.     color( c, red );
  48.     viewobj( c );
  49.     
  50.     c1 = cregion( c, 3, 4 );
  51.     color( c1, green );
  52.     c2 = cregion( c, 4, 5 );
  53.     color( c2, yellow );
  54.     c3 = cregion( c, 5, 6 );
  55.     color( c3, cyan );
  56.     c4 = cregion( c, 6, 7 );
  57.     color( c3, magenta );
  58.     viewobj( list( c1, c2, c3, c4 ) );
  59.  
  60. creates a periodic curve and extracts its four polynomial domains as four
  61. open end Bspline curves.
  62.